package cn.smile.business.basic;

import cn.smile.bean.dto.basic.BasicItemDTO;
import cn.smile.bean.entity.basic.BasicItem;
import cn.smile.bean.form.basic.item.BasicItemAddForm;
import cn.smile.bean.form.basic.item.BasicItemUpdateForm;
import cn.smile.bean.form.basic.item.QueryBasicItemForm;
import cn.smile.commons.domain.IBaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

public interface IBasicItemService extends IBaseService<BasicItem> {

    /**
     * 新增基础配置项目
     *
     * @param form 新增参数
     * @return 新增结果
     */
    Boolean addBasicItem(BasicItemAddForm form);

    /**
     * 更新基础项目
     *
     * @param form 基础项目ID
     * @return 更新结果
     */
    Boolean updateBasicItem(BasicItemUpdateForm form);

    /**
     * 分页查询数据
     *
     * @param form 分页参数
     * @return 查询结果
     */
    IPage<BasicItemDTO> getPage(QueryBasicItemForm form);

    /**
     * 查询基础项目信息
     *
     * @param id 基础项目ID
     * @return 查询结果对象
     */
    BasicItemDTO getBaseItemById(String id);

    /**
     * 删除基础项目
     *
     * @param id 项目ID
     * @return 删除结果
     */
    Boolean delBaseItem(String id);

    /**
     * 列表查询基础项目
     *
     * @param form 查询参数
     * @return 查询结果
     */
    List<BasicItemDTO> getList(QueryBasicItemForm form);
}
